package com.atom.module.coroutine.context

import kotlin.coroutines.CoroutineContext

class CoroutineName : CoroutineContext.Element {

    companion object Key : CoroutineContext.Key<CoroutineName>

    override val key = Key

    val name: String

    constructor(name: String) {
        this.name = name
    }

    override fun toString(): String {
        return name
    }
}
class CoroutineName1 : CoroutineContext.Element {

    companion object Key : CoroutineContext.Key<CoroutineName1>

    override val key = Key

    val name: String

    constructor(name: String) {
        this.name = name
    }

    override fun toString(): String {
        return name
    }
}
class CoroutineName2 : CoroutineContext.Element {

    companion object Key : CoroutineContext.Key<CoroutineName2>

    override val key = Key

    val name: String

    constructor(name: String) {
        this.name = name
    }

    override fun toString(): String {
        return name
    }
}
class CoroutineName3 : CoroutineContext.Element {

    companion object Key : CoroutineContext.Key<CoroutineName3>

    override val key = Key

    val name: String

    constructor(name: String) {
        this.name = name
    }

    override fun toString(): String {
        return name
    }
}